adjust cell_area and background_area for possible treeview scroll (fixes
authorKristian Rietveld <kris@gtk.org>
Fri, 1 Feb 2002 22:41:39 +0000 (22:41 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Fri, 1 Feb 2002 22:41:39 +0000 (22:41 +0000)
Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
        cell_area and background_area for possible treeview scroll
        (fixes #70283, #70065)

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktreeview.c

index cf93df6c2539c35d843b8aa5209cfd9624ded7ea..15c1cea244d4613e1a9b8bef63ac7387a7947c67 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
+       cell_area and background_area for possible treeview scroll
+       (fixes #70283, #70065)
+
 Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
index cf93df6c2539c35d843b8aa5209cfd9624ded7ea..15c1cea244d4613e1a9b8bef63ac7387a7947c67 100644 (file)
@@ -1,3 +1,9 @@
+Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
+       cell_area and background_area for possible treeview scroll
+       (fixes #70283, #70065)
+
 Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
index cf93df6c2539c35d843b8aa5209cfd9624ded7ea..15c1cea244d4613e1a9b8bef63ac7387a7947c67 100644 (file)
@@ -1,3 +1,9 @@
+Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
+       cell_area and background_area for possible treeview scroll
+       (fixes #70283, #70065)
+
 Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
index cf93df6c2539c35d843b8aa5209cfd9624ded7ea..15c1cea244d4613e1a9b8bef63ac7387a7947c67 100644 (file)
@@ -1,3 +1,9 @@
+Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
+       cell_area and background_area for possible treeview scroll
+       (fixes #70283, #70065)
+
 Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
index cf93df6c2539c35d843b8aa5209cfd9624ded7ea..15c1cea244d4613e1a9b8bef63ac7387a7947c67 100644 (file)
@@ -1,3 +1,9 @@
+Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
+       cell_area and background_area for possible treeview scroll
+       (fixes #70283, #70065)
+
 Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
index cf93df6c2539c35d843b8aa5209cfd9624ded7ea..15c1cea244d4613e1a9b8bef63ac7387a7947c67 100644 (file)
@@ -1,3 +1,9 @@
+Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
+       cell_area and background_area for possible treeview scroll
+       (fixes #70283, #70065)
+
 Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
index cf93df6c2539c35d843b8aa5209cfd9624ded7ea..15c1cea244d4613e1a9b8bef63ac7387a7947c67 100644 (file)
@@ -1,3 +1,9 @@
+Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>
+
+       * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
+       cell_area and background_area for possible treeview scroll
+       (fixes #70283, #70065)
+
 Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
index 84d2f16a14964290a23a21481b96122627961899..a0b68a46e91ba059d0ec1339ce9dc260f1db2673 100644 (file)
@@ -1681,6 +1681,8 @@ gtk_tree_view_button_press (GtkWidget      *widget,
       gint depth;
       gint new_y;
       gint y_offset;
+      gint dval;
+      gint pre_val, aft_val;
       GtkTreeViewColumn *column = NULL;
       gint column_handled_click = FALSE;
 
@@ -1758,6 +1760,8 @@ gtk_tree_view_button_press (GtkWidget      *widget,
       if (column == NULL)
        return FALSE;
 
+      pre_val = tree_view->priv->vadjustment->value;
+
       tree_view->priv->focus_column = column;
       if (event->state & GDK_CONTROL_MASK)
        {
@@ -1774,6 +1778,16 @@ gtk_tree_view_button_press (GtkWidget      *widget,
          gtk_tree_view_real_set_cursor (tree_view, path, TRUE);
        }
 
+      /* the treeview may have been scrolled because of _set_cursor,
+       * correct here
+       */
+
+      aft_val = tree_view->priv->vadjustment->value;
+      dval = pre_val - aft_val;
+
+      cell_area.y += dval;
+      background_area.y += dval;
+
       if (event->type == GDK_BUTTON_PRESS &&
          !(event->state & gtk_accelerator_get_default_mod_mask ()))
        {